home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / p / pcqpascalv1.2d.lha / Include / Libraries / ConfigVars.i < prev    next >
Text File  |  1997-05-06  |  3KB  |  87 lines

  1. {
  2.     ConfigVars.i for PCQ Pascal
  3.  
  4.         software structures for configuration subsystem
  5. }
  6.  
  7. {$I   "Include:Exec/Nodes.i"}
  8. {$I   "Include:Libraries/ConfigRegs.i"}
  9.  
  10.  
  11. Type
  12.  
  13.     ConfigDev = record
  14.         cd_Node         : Node;
  15.         cd_Flags        : Byte;
  16.         cd_Pad          : Byte;
  17.         cd_Rom          : ExpansionRom; { image of expansion rom area }
  18.         cd_BoardAddr    : Address;      { where in memory the board is }
  19.         cd_BoardSize    : Integer;      { size in bytes }
  20.         cd_SlotAddr     : Short;        { which slot number }
  21.         cd_SlotSize     : Short;        { number of slots the board takes }
  22.         cd_Driver       : Address;      { pointer to node of driver }
  23.         cd_NextCD       : ^ConfigDev;   { linked list of drivers to config }
  24.         cd_Unused       : Array [0..3] of Integer;
  25.                                         { for whatever the driver whats }
  26.     end;
  27.     ConfigDevPtr = ^ConfigDev;
  28.  
  29.  
  30. Const
  31.  
  32. { cd_Flags }
  33.     CDB_SHUTUP          = 0;    { this board has been shut up }
  34.     CDB_CONFIGME        = 1;    { this board needs a driver to claim it }
  35.  
  36.     CDF_SHUTUP          = $01;
  37.     CDF_CONFIGME        = $02;
  38.  
  39. Type
  40.  
  41. { this structure is used by GetCurrentBinding() and SetCurrentBinding() }
  42.  
  43.     CurrentBinding = record
  44.         cb_ConfigDev    : ConfigDevPtr;         { first configdev in chain }
  45.         cb_FileName     : String;               { file name of driver }
  46.         cb_ProductString : String;              { product # string }
  47.         cb_ToolTypes    : Address;              { tooltypes from disk object }
  48.     end;
  49.     CurrentBindingPtr = ^CurrentBinding;
  50.  
  51. Procedure AddConfigDev(configDev : ConfigDevPtr);
  52.     External;
  53.  
  54. Function AllocConfigDev : ConfigDevPtr;
  55.     External;
  56.  
  57. Function ConfigBoard(board : Address; configDev : ConfigDevPtr) : Boolean;
  58.     External;
  59.  
  60. Function ConfigChain(baseAddr : Address) : Boolean;
  61.     External;
  62.  
  63. Function FindConfigDev(oldConfigDev : ConfigDevPtr;
  64.                         manufacturer, product : Integer) : ConfigDevPtr;
  65.     External;
  66.  
  67. Procedure FreeConfigDev(configDev : ConfigDevPtr);
  68.     External;
  69.  
  70. Function GetCurrentBinding(currentBinding : CurrentBindingPtr;
  71.                                 size : Short) : Short;
  72.     External;
  73.  
  74. Procedure ObtainConfigBinding;
  75.     External;
  76.  
  77. Procedure ReleaseConfigBinding;
  78.     External;
  79.  
  80. Procedure RemConfigDev(configDev : ConfigDevPtr);
  81.     External;
  82.  
  83. Procedure SetCurrentBinding(currentBinding : CurrentBindingPtr;
  84.                                 size : Short);
  85.     External;
  86.  
  87.